# run.py
import os
from pathlib import Path
import sys

# 添加项目根目录到Python路径
sys.path.append(str(Path(__file__).parent.resolve()))

from app import app, db
from app.models import User, Student, Course, Score  # 导入所有模型

def init_app():
    with app.app_context():
        db.create_all()
        
        # 添加管理员账户(仅在第一次运行时)
        if User.query.count() == 0:
            admin = User(username='admin', email='admin@example.com', role='admin')
            admin.set_password('admin123')
            db.session.add(admin)
            db.session.commit()

def init_database():
    with app.app_context():
        db.create_all()  # 直接创建所有表
        # 初始化数据（如创建管理员账户）
        if User.query.count() == 0:
            admin = User(username='admin', email='admin@example.com', role='admin')
            admin.set_password('admin123')
            db.session.add(admin)
            db.session.commit()

if __name__ == '__main__':
    init_app()  # 初始化应用
    init_database()
    app.run(debug=True)
